package com.farmer.common.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 扶贫项目实体类
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("poverty_project")
public class Project {

    /**
     * 项目ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 项目标题
     */
    @TableField("title")
    private String title;

    /**
     * 项目描述
     */
    @TableField("description")
    private String description;

    /**
     * 目标金额
     */
    @TableField("target_amount")
    private BigDecimal targetAmount;

    /**
     * 当前筹集金额
     */
    @TableField("current_amount")
    private BigDecimal currentAmount;

    /**
     * 捐赠人数
     */
    @TableField("donor_count")
    private Integer donorCount;

    /**
     * 项目图片URL，多个用逗号分隔
     */
    @TableField("images")
    private String images;

    /**
     * 项目地点
     */
    @TableField("location")
    private String location;

    /**
     * 发起人/组织
     */
    @TableField("organizer")
    private String organizer;

    /**
     * 联系电话
     */
    @TableField("contact_phone")
    private String contactPhone;

    /**
     * 项目开始时间
     */
    @TableField("start_time")
    private LocalDateTime startTime;

    /**
     * 项目结束时间
     */
    @TableField("end_time")
    private LocalDateTime endTime;

    /**
     * 状态：ACTIVE-进行中，COMPLETED-已完成，PAUSED-已暂停
     */
    @TableField("status")
    private String status;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
} 